package com.jm.offer.easy;

/**
 * @Description https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/
 * @date 2022/4/2 12:36
 */
public class _04二维数组中的查找 {
    public static void main(String[] args) {
        int[][] matrix = new int[][]{{1,2,3,4,5},{2,3,4,5,6}};
        getTarget(matrix,6);
    }

    public static boolean getTarget(int[][] matrix, int target){
        // i表示行
        // j表示列
        int i = matrix.length - 1, j = 0;
        // 开始时是从队列的左下角开始
        // 没执行一次判断值的大笑就向右或者向上移动以行（列）
        while(i >= 0 && j < matrix[0].length)
        {
            // 如果当前值大于目标值就取消第i行元素
            if(matrix[i][j] > target) {
                i--;
                // 如果当前值小于目标值就取消第j列元素。
            } else if(matrix[i][j] < target) {
                j++;
            } else {
                return true;
            }
        }
        return false;
    }
}
